#ifndef Vector_h
#define Vector_h

#include "Matrix.h"

class Vector
{
public:
    float x, y, z;
    
    Vector(float x = 0, float y = 0, float z = 0);
    virtual ~Vector();
    
    virtual Vector operator+(const Vector &v);
    virtual Vector operator-();
    virtual Vector operator*(const float f);
    virtual Vector operator*(const Vector &v);
    virtual Vector &operator*=(const float f);
    virtual Vector &operator*=(const Vector &v);
    virtual Vector &operator+=(const Vector &v);
    
};

// Multiple a Vector to a Matrix
Vector operator*(const Matrix &matrix, const Vector &vector);

#endif
